Computer clusters often manage data stored across multiple physical storage devices (such as disks) by grouping the data into one or more computing objects (such as plexes and/or volumes) that represent logically sequential blocks. For example, a computer cluster may group data into a mirrored volume that includes duplicate copies of data stored across multiple disks. In this example, the mirrored volume may virtualize the data stored across the multiple disks such that the volume appears as a single disk to the cluster's applications.
Some computer clusters may include multiple nodes that are able to perform input/output operations on data grouped into such computing objects. For example, a computer cluster may include multiple nodes that are able to perform input/output operations on a mirrored volume spanning multiple disks. In the event that the computer cluster experiences a failure that prevents one of the nodes from performing certain input/output operations, the computer cluster may transfer the responsibility of performing such input/output operations to another node within the computer cluster (in a process sometimes referred to as “input/output shipping”).
While conventional input/output shipping techniques may enable computer clusters to transfer the responsibility of performing certain input/output operations from one node to another, such input/output shipping techniques may also have one or more shortcomings and/or inefficiencies that negatively impact the performance of the clusters. For example, in a conventional input/output shipping technique, a computer cluster may transfer the responsibility of performing input/output operations on a mirrored volume from one node to another by directing the other node to target the individual disks storing the data represented by the mirrored volume. Unfortunately, since this conventional input/output shipping technique involves directing the other node to target the individual disks storing the data represented by the mirrored volume, the computer cluster may need to transfer a different instance of the same data over the network for each disk storing the data represented by the mirrored volume.
As such, the instant disclosure identifies a need for systems and methods for transferring input/output operations within computer clusters in a manner that reduces the amount of network traffic associated with input/output shipping by avoiding redundant data transfers.